package com.team.cloudsharing.service.user;

import com.team.cloudsharing.dto.LoginResponse;
import com.team.cloudsharing.dto.User;
import com.team.cloudsharing.dto.UserChangePwd;

public interface UserService {
	public LoginResponse login(User user);
	
	public String logout(String macAddress);
	
	public LoginResponse loginSocial(User user);
	
	public LoginResponse loginWithRememberToken(String rememberToken);

	public String register(User user);
	
	public String registerSocial(User user);

	public String registerConfirm(String userEmail, String activationCode);

	public String forgetPassword(String userEmail);

	public boolean reSendActivationLink(String userEmail);

	public String changePassword(UserChangePwd userChangePwd);

	public boolean checkUserEmailAlreadyExisted(String userEmail);
	
	public String getRememberToken(User user);
	
	public void updateRegistrationId(User user);
	
	public Long increaseUsedCapacity(String userEmail, Long capacity);
	
	public Long decreaseUsedCapacity(String userEmail, Long capacity);
	
	public Long getCapacity(String userEmail);

}
